package com.lishilin.gulimall.coupon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 如何使用nacos配置中心统一管理配置
 * 1、引入配置中心依赖
 * 2、创建一个bootstrap.properties
 * 		配置		spring.application.name=gulimall-coupon
 * 				spring.cloud.nacos.config.server-addr=127.0.0.1:8848
 * 3.需要给配置中心默认添加一个叫数据集data-id  gulimall-coupon.properties
 * 4.给他gulimall-coupon.properties添加任何配置
 * 5.动态获取配置
 * 		@RefreshScope：动态获取并刷新配置
 * 		@Value("${coupon.user.name}")获取某个配置的值
 * 	如果配置中心和当前应用的配置文件中都配置了相同的项，有限使用配置中心的配置
 * */

/*
* 2、细节
* 	1）命名空间：配置隔离
* 		默认：pulic；默认新增的所有配置都在public空间
* 		1、开发，测试，生产环境配置都不同：利用命名空间来做环境隔离
* 			在这里面配置上bootstrap.properties  spring.cloud.nacos.config.namespace=a1cf4e22-8a39-4e0d-a03c-2a59572b64ba
* 		2、每一个微服务之间互相隔离：每一个微服务都创建一个自己的命名空间
 * 	2）配置集：所有的配置的集合
* 	3）配置集ID：类似文件名  Data ID:文件名
* 	4）配置分组：根据节日 双11 双12  618 分组
*
* 当前项目：每个微服务创建自己的命名空间，使用配置分组来区分开发的环境dev test prop
*
* 3.同时加载多个配置集
* 		1、微服务任何配置信息、任何配置文件，都可以放在配置中心
* 		2、只需要在bootstrap.properties中说明加载配置中心中那些配置文件即可
* 		3、@Value @ConfigrationProperties 以前springboot任何方法从配置文件中获取值，都能使用
* 配置中心有的优先使用
* */

@EnableDiscoveryClient  //将服务注册到nacos
@SpringBootApplication
public class GulimallCouponApplication {

	public static void main(String[] args) {
		SpringApplication.run(GulimallCouponApplication.class, args);
	}

}
